PowerShell-এ Objects একটি গুরুত্বপূর্ণ অংশ, কারণ এটি আপনাকে ডাটা পরিচালনা এবং সিস্টেমের বিভিন্ন উপাদানের সাথে ইন্টারঅ্যাক্ট করতে সহায়তা করে। যখন আপনি PowerShell এ কোনো কমান্ড চালান, তখন আপনি সাধারণত একটি Object ফেরত পান, যা একটি নির্দিষ্ট ধরনের ডাটা ধারণ করে এবং সেই ডাটার Properties এবং Methods থাকে। এই Properties এবং Methods গুলি ব্যবহার করে আপনি Object এর উপর বিভিন্ন কার্যকলাপ সম্পাদন করতে পারেন।
Object Properties
Properties হলো একটি Object এর বিভিন্ন বৈশিষ্ট্য, যা সেই Object সম্পর্কে বিস্তারিত তথ্য ধারণ করে। প্রতিটি Object-এর বিভিন্ন ধরনের Properties থাকতে পারে, যেমন একটি ফাইলের জন্য তার নাম, আকার, তৈরির তারিখ ইত্যাদি।
Properties দেখার জন্য:
PowerShell-এ একটি Object-এর সকল Properties দেখতে, আপনি Get-Member কমান্ড ব্যবহার করতে পারেন। উদাহরণস্বরূপ, যদি আপনি Get-Process কমান্ড দিয়ে কোন প্রক্রিয়া (process) সম্পর্কে তথ্য দেখতে চান:
Get-Process | Get-Member -MemberType Property
এটি Get-Process কমান্ডের মাধ্যমে ফিরে আসা Object এর সকল Properties দেখাবে।
Property Access:
Object এর কোনো নির্দিষ্ট Property অ্যাক্সেস করতে আপনি পিরিয়ড (.) চিহ্ন ব্যবহার করতে পারেন। যেমন:
$process = Get-Process -Name "notepad"
$process.Name # Notepad প্রোগ্রামের নাম দেখাবে
$process.Id # Process ID দেখাবে
$process.WorkingSet # মেমরি ব্যবহারের তথ্য দেখাবে
এখানে, $process একটি Process Object, এবং .Name, .Id, .WorkingSet হলো এর Properties।
উদাহরণ:
$service = Get-Service -Name "wuauserv"
$service.Status # Service-এর বর্তমান স্ট্যাটাস দেখাবে
$service.DisplayName # Service-এর প্রদর্শন নাম দেখাবে
এখানে $service হল একটি Service Object এবং Status, DisplayName তার Properties।
Object Methods
Methods হলো Object-এর দ্বারা সঞ্চালিত ক্রিয়াকলাপ বা কার্যাবলী। এটি মূলত একটি ফাংশন, যা Object এর উপর কিছু অ্যাকশন বা অপারেশন করে।
Methods দেখার জন্য:
Object এর সমস্ত Methods দেখতে, আপনি Get-Member কমান্ড ব্যবহার করতে পারেন, তবে -MemberType Method দিয়ে আপনি শুধু Methods দেখতে পাবেন:
$process = Get-Process -Name "notepad"
$process | Get-Member -MemberType Method
এটি Get-Process কমান্ডের মাধ্যমে ফিরে আসা Process Object এর সমস্ত Methods দেখাবে।
Method Call:
একটি Object-এর Method কল করতে, আপনি পিরিয়ড (.) চিহ্ন ব্যবহার করবেন, এর পরে Method এর নাম এবং প্রয়োজনীয় প্যারামিটারগুলো (যদি থাকে) উল্লেখ করবেন। যেমন:
$process = Get-Process -Name "notepad"
$process.Kill() # Notepad প্রোগ্রামটি বন্ধ করতে Kill() method ব্যবহার করা হবে
এখানে, $process একটি Process Object এবং Kill() হলো একটি Method যা এই Process কে বন্ধ (terminate) করতে ব্যবহৃত হয়।
উদাহরণ:
$directory = Get-Item "C:\Users"
$directory = $directory.CreateSubdirectory("NewFolder") # একটি নতুন সাবডিরেক্টরি তৈরি করা
এখানে, $directory একটি DirectoryInfo Object এবং CreateSubdirectory() হলো একটি Method যা একটি নতুন সাবডিরেক্টরি তৈরি করে।
Object Properties এবং Methods ব্যবহার করার কিছু উদাহরণ
1. File Object এর Properties এবং Methods ব্যবহার করা:
$file = Get-Item "C:\example.txt"
$file.Name # ফাইলের নাম দেখাবে
$file.Extension # ফাইলের এক্সটেনশন দেখাবে
$file.Length # ফাইলের আকার (বাইটে) দেখাবে
$file.CreationTime # ফাইল তৈরির সময় দেখাবে
# ফাইলের অ্যাট্রিবিউট পরিবর্তন
$file.Attributes = 'ReadOnly'
# ফাইল মুছে ফেলতে
$file.Remove()
এখানে, $file একটি FileInfo Object, এবং .Name, .Length, .CreationTime হল তার Properties। .Remove() হলো একটি Method যা ফাইল মুছে ফেলতে ব্যবহৃত হয়।
2. DateTime Object এর Properties এবং Methods ব্যবহার করা:
$date = Get-Date
$date.Day # বর্তমান দিনের তারিখ দেখাবে
$date.Month # মাস দেখাবে
$date.Year # বছর দেখাবে
# দিন, মাস এবং বছর যোগ করার জন্য AddDays(), AddMonths(), AddYears() Methods ব্যবহার করা:
$newDate = $date.AddDays(5) # বর্তমান তারিখের সাথে ৫ দিন যোগ করা
$newDate
এখানে, $date একটি DateTime Object, এবং AddDays() হলো একটি Method যা নির্দিষ্ট সংখ্যক দিন বর্তমান তারিখে যোগ করে।
3. String Object এর Methods ব্যবহার করা:
$string = "PowerShell Scripting"
$string.Length # স্ট্রিংয়ের দৈর্ঘ্য দেখাবে
$string.ToUpper() # স্ট্রিংয়ের সব অক্ষর বড় হাতের করবে
$string.Substring(0, 10) # স্ট্রিংয়ের প্রথম ১০ অক্ষর কেটে নেবে
এখানে, $string একটি String Object, এবং ToUpper() ও Substring() হলো Methods যা স্ট্রিং পরিবর্তন বা নির্দিষ্ট অংশ বের করতে ব্যবহৃত হয়।
Summary
PowerShell-এ Object Properties এবং Methods আপনাকে বিভিন্ন ধরনের ডাটা পরিচালনা এবং কার্যকর করার জন্য এক্সটেনসিভ ক্ষমতা প্রদান করে। Properties আপনাকে Object-এর গুণাবলী জানাতে সাহায্য করে, এবং Methods আপনাকে সেই Object এর উপর অপারেশন চালানোর সুযোগ দেয়। Properties এবং Methods ব্যবহার করার মাধ্যমে আপনি আপনার PowerShell স্ক্রিপ্ট আরও কার্যকর এবং উৎপাদনশীল করতে পারবেন।
Read more